package com.spring.extjs.pageModel;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

import org.codehaus.jackson.map.annotate.JsonSerialize;

import com.spring.extjs.model.MenuGroup;
import com.spring.extjs.model.Module;

/**
 * 用于向客户端返回系统的模块信息和登录人员的信息的类
 * 
 * @author chj_0507_dz@sina.com
 *
 */
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class ApplicationInfo implements Serializable {

	private static final long serialVersionUID = 1L;

	// 这是系统总体情况的设置，也是放在数据库里的，可以进行修改
	private SystemInfo systemInfo;

	// 这是用户单位和登录用户的信息
	private UserInfo userInfo;

	// 这是服务单位情况的设置，也是放在数据库里的，可以进行修改
	private ServiceInfo serviceInfo;

	// 系统中模块的字义和菜单的定义
	private Set<Module> tf_Modules; // 系统模块定义信息

	private List<MenuGroup> tf_MenuGroups; // 系统菜单

	// 系统中各种权限的定义

	// 其他一些附加信息需要传送到前台的
	private Integer tf_additionFileMaxMB; // 上传文件的最大大小
	private String tf_previewExts; // 可预览的文件的后缀名 ，用逗号分开

	public ApplicationInfo() {

	}

	public SystemInfo getSystemInfo() {
		return systemInfo;
	}

	public void setSystemInfo(SystemInfo systemInfo) {
		this.systemInfo = systemInfo;
	}

	public UserInfo getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(UserInfo userInfo) {
		this.userInfo = userInfo;
	}

	public ServiceInfo getServiceInfo() {
		return serviceInfo;
	}

	public void setServiceInfo(ServiceInfo serviceInfo) {
		this.serviceInfo = serviceInfo;
	}

	public Set<Module> getTf_Modules() {
		return tf_Modules;
	}

	public void setTf_Modules(Set<Module> tf_Modules) {
		this.tf_Modules = tf_Modules;
	}

	public List<MenuGroup> getTf_MenuGroups() {
		return tf_MenuGroups;
	}

	public void setTf_MenuGroups(List<MenuGroup> tf_MenuGroups) {
		this.tf_MenuGroups = tf_MenuGroups;
	}

	public Integer getTf_additionFileMaxMB() {
		return tf_additionFileMaxMB;
	}

	public void setTf_additionFileMaxMB(Integer tf_additionFileMaxMB) {
		this.tf_additionFileMaxMB = tf_additionFileMaxMB;
	}

	public String getTf_previewExts() {
		return tf_previewExts;
	}

	public void setTf_previewExts(String tf_previewExts) {
		this.tf_previewExts = tf_previewExts;
	}

}
